Дополнительная настройка модуля синхронизации

При использовании модуля синхронизации Microsoft Active Directory Domain Services (MS AD DS) является приоритетным источником данных, все изменения в MS AD будут применены к соответствующим объектам и атрибутам ALD Pro. Для обеспечения надёжной синхронизации и поддержания консистентного состояния модуль синхронизации настраивается на одном контроллере ALD Pro.

Модуль синхронизации работает по следующим принципам:

  • Источник данных LDAP: используется только MS AD DS. Все изменения объектов выполняются исключительно в MS AD;

  • Направление: односторонняя синхронизация (MS ADALD Pro);

  • Контроль изменений: - объекты, управляемые модулем синхронизации, не редактируются напрямую в ALD Pro; - все изменения (создание, модификация, удаление) производятся только в MS AD.

Исходные настройки

Предполагается, что на момент настройки модуля синхронизации у нас имеются:

  • Настроенный контроллер домена MS AD;

  • Настроенный контроллер домена ALD Pro;

  • В обоих доменах MS AD и ALD Pro настроены корзины с одинаковыми интервалами ротации(очистки);

  • Для сетей, в которых находятся контроллеры домена MS AD и ALD Pro, настроено перенаправление DNS-зон;

  • В домене MS AD поднят центр сертификации и выдан сертификат для доступа по LDAPs (см. подробности в разделе Выгрузка сертификатов для контроллера домена MS AD );

  • Для учетной записи MS AD, под которой идет подключение модуля синхронизации к контроллерам домена MS AD, необходимо через powershell выдать права на контейнер “Deleted Objects” и организационное подразделение (OU), задействованное для процесса синхронизации.

Примечание

В примере ниже при помощи команд powershell выдаются права на контейнер Deleted Objects и организационное подразделение (OU) Подразделение А для пользователя aldagent в домене winad.lan

// для выдачи прав на контейнер запускаем ``powershell`` от имени администратора
dsacls "CN=Deleted Objects,DC=winad,DC=lan" /takeownership
dsacls "CN=Deleted Objects,DC=winad,DC=lan" /g winad\aldagent:LCRP
dsacls "OU=Подразделение А,DC=winad,DC=lan" /g "winad\aldagent:CA;Reset Password;user" /I:S

Выгрузка сертификатов для контроллера домена MS AD

Для корректной работы модуля синхронизации с контроллером домена MS AD необходимо выгрузить и подготовить полный набор сертификатов, включая:

  • сертификат сервера (контроллера домена);

  • сертификат центра сертификации (корневой сертификат ЦС);

  • сертификаты промежуточных центров сертификации (если используются);

  • объединённый файл цепочки сертификатов (chain-файл), используемый для LDAPs-подключений.

Примечание

Для корректного отображения окна конфигуратора используйте разрешение экрана не ниже 1280×1024, иначе элементы интерфейса могут выходить за пределы экрана.

Получение серверного сертификата контроллера домена

Запустить Центр Сертификации → Шаблоны Сертификатов → Управление на сервере с ролью Центр Сертификации:

../../../../_images/17.png

Создать копию шаблона Проверка подлинности Kerberos, выбрав пункт Скопировать шаблон контекстного меню:

../../../../_images/22.png

Настроить шаблон сертификата на вкладке Общие:

  • имя сертификата LDAPowerSSL;

  • период действия сертификата.

../../../../_images/32.png

Отметить галочкой пункт меню Опубликовать сертификат в MS AD.

Опубликовать новый тип сертификата. Для этого в в контекстном меню раздела Шаблоны сертификатов выбрать Создать → Выдаваемый шаблон сертификата.

../../../../_images/52.png

В списке доступных шаблонов выбрать созданный ранее:

../../../../_images/62.png

На контроллере домена открыть Управление сертификатами (сертификаты компьютера), перейти в раздел Личное, выбрать Запросить новый сертификат и выпустить сертификат по созданному шаблону.

../../../../_images/72.png

В списке доступных сертификатов выбрать созданный ранее, выпустить сертификат (кнопка Выпустить сертификат) и экспортировать (контекстное меню Все задачи → Экспорт).

../../../../_images/82.png

Откроется мастер экспорта сертификатов:

../../../../_images/92.png
../../../../_images/102.png

Выбрать кодировку base64 для файла сертификата:

../../../../_images/111.png

Задать имя файла:

../../../../_images/121.png

После нажатия кнопки Готово будет выгружен файл сертификата:

<server_cert>.cer

../../../../_images/131.png

Необходимо изменить формат файла сертификата на *.pem, переименовав файл в <имя_сертификата.pem>. (например sert.pem - как публичный ключ для подключения по LDAPs к контроллеру MS AD)

<server_cert>.cer → <server_cert>.pem

Выгрузка сертификата центра сертификации (ЦС)

Дополнительно требуется выгрузить корневой сертификат ЦС, так как без него модуль синхронизации не сможет корректно выстроить цепочку доверия.

Открыть оснастку Центр Сертификации, выбрать пункт Сертификаты ЦС и экспортировать корневой сертификат в формате Base64.

../../../../_images/1111.png

Полученный файл следует сохранить как:

<ca_cert>.pem

Выгрузка сертификатов промежуточных ЦС (если есть)

Если в домене применяется иерархия центров сертификации, необходимо также выгрузить все промежуточные сертификаты точно так же, как корневой ЦС.

../../../../_images/112.png

Каждый файл сохраняется в формате:

<intermediate_ca_X>.pem

Формирование цепочки сертификатов (chain-файл)

Для работы модуля синхронизации требуется единый файл, содержащий:

  1. сертификат контроллера домена;

  2. корневой сертификат ЦС;

  3. сертификаты всех промежуточных ЦС.

Это позволяет избежать типичной ошибки:

pwd-sync ERROR main Произошла ошибка: Ошибка подключения к ldap://windc1.win.company.lan

Chain-файл можно создать командой:

cat <server_cert>.pem <ca_cert>.pem <intermediate_ca_1>.pem <intermediate_ca_2>.pem > windc-chain.pem

Примечание

Допускается объединение вручную путём последовательного копирования. В файле не должно быть пустых строк. Порядок следования сертификатов не критичен, модуль синхронизации корректно анализирует структуру цепочки.

../../../../_images/113.png

Итог

Для успешной интеграции с MS AD по LDAPs необходимо использовать именно объединённый файл:

windc-chain.pem

Он должен быть указан в конфигурации модуля синхронизации как набор доверенных сертификатов.

Выгрузка сертификатов для контроллера домена ALD Pro

Для выгрузки сертификата необходимо зайти на портал управления ALD Pro, нажать на кнопку просмотра информации о сайте и выбрать Незащищенное соединение → Подробнее:

../../../../_images/141.png

Выбрать Просмотреть сертификат:

../../../../_images/151.png

Откроется файл сертификата:

../../../../_images/161.png

Открыть ссылку PEM (сертификат):

../../../../_images/171.png

Сертификат сайта сохранен.

Настройка синхронизации паролей MS ADALD

Установка passwdhk на контроллер домена (если ранее не устанавливался)

Для настройки потребуется файл PasswdhkSetup.msi, который можно скачать в личном кабинете пользователя Astra Linux https://lk-new.astralinux.ru.

Важно

Синхронизация пароля пользователя будет успешна только для тех учетных записей MS AD, для которых пароль задавался после создания групповой политики passwdhk. Пароли, изменяемые до установки passwdhk, не смогут быть синхронизированы в целевой LDAP (ALD Pro). Для синхронизации паролей у существующих пользователей необходимо сменить/обновить пароль в LDAP-источнике (MS AD DS).

Перед началом установки необходимо установить компонент Visual C++ Redistributable 2022.

  1. Выполнить запуск установочного файла passwdhk_install/util/VC_redist.x64.exe

Установку необходимо выполнить на каждом контроллере домена, где планируется установка утилиты passwdhk.

  1. Запустить файл PasswdhkSetup.msi от имени администратора.

  2. На экране параметров установки указать следующие значения:

  • Уровень логирования (глубина регистрации событий в журнале) - указать один из четырех уровней логирования;

  • Номер ключа регистрации - ввести значение, полученное на портале управления ALD Pro;

  • Публичный ключ регистрации - вставить файл открытого ключа, скачанный при развертывании модуля синхронизации в ALD Pro Модуль синхронизации → Настройки → Синхронизация паролей → Кнопка “Получить ключ” (подробнее в разделе Синхронизация паролей ALD Pro → MS AD).

Примечание

Если ключ подгрузился автоматически, это означает, что на контроллере домена имеются артефакты. В этом случае необходимо выполнить шаги из раздела Настройка синхронизации паролей MS AD → ALD для удаления артефактов старой версии. Это позволит избежать некорректной работы утилиты и ошибок установки или нарушения работы компонентов.

../../../../_images/18.png
  1. После заполнения всех параметров нажать на кнопку Установить, затем — Готово.

  2. Дождаться завершения перезагрузки контроллера домена.

  3. Проверить, что в реестре создались необходимые записи.

../../../../_images/19.png
../../../../_images/20.png

Обновление passwdhk, установленного через групповую политику (GPO), на версию MSI

Важно

Утилита может сработать некорректно, если в системе присутствуют артефакты предыдущих установок. В редких случаях это может привести к ошибкам установки или нарушению работы компонентов.

Если на контроллере домена ранее был установлен passwdhk через групповую политику (GPO), необходимо выполнить удаление старой версии перед установкой новой версии через MSI:

  1. Удалить объект групповой политики passwdhk в редакторе групповых политик (gpmc.msc).

../../../../_images/211.png
  1. Удалить папку passwdhk из сетевого каталога \\<Имя-контроллера-домена>\SYSVOL\<Имя-домена>\scripts.

../../../../_images/221.png
  1. Очистить параметры в реестре:

  • Удалить ключ Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\passwdhk.

../../../../_images/23.png
  • В параметре Notification Packages по пути Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa удалите значение passwdhk.

../../../../_images/24.png
  1. Перезагрузить контроллер домена для применения изменений.

  2. После перезагрузки вручную удалить из каталога C:\Windows\System32 файлы passwdhk.dll и libcrypto-3-x64.dll.

../../../../_images/25.png
../../../../_images/26.png
  1. Выполнить установку новой версии passwdhk через PasswdhkSetup.msi, следуя инструкции из пункта инструкции Исходные настройки для модуля синхронизации.

Автоматизированная установка passwdhk через MST-файл

Для массовой установки утилиты passwdhk на контроллеры домена можно использовать файл трансформации (MST), содержащий заранее заданные параметры конфигурации, который можно развернуть с помощью групповой политики (GPO).

Примечание

Для редактирования установочного файла .msi и создания .mst трансформации можно использовать любую утилиту, поддерживающую редактирование таблиц MSI-файлов (например, Orca или аналогичные средства). В данной инструкции приведены примеры с использованием Orca.

Создание MST-файла

  1. Открыть PasswdhkSetup.msi в утилите редактирования MSI-файлов и создать новый трансформационный файл (MST).

  2. В меню File → Open выбрать установочный файл PasswdhkSetup.msi.

  3. В меню Transform выбрать New Transform.

../../../../_images/27.png
  1. Перейти на вкладку Property и добавить следующие свойства:

  • REGKEY — вставьте публичный ключ регистрации, полученный на портале управления ALD Pro. Каждую строку ключа необходимо экранировать символом n (перевод строки).

  • KVNOPUB — номер ключа, также полученный на портале.

../../../../_images/28.png
../../../../_images/29.png
../../../../_images/30.png
  1. После добавления параметров выбрать TransformGenerate Transform и сохранить полученный файл под именем, например, pass.mst.

../../../../_images/311.png

Подготовка файлов для установки

  1. Перейти в сетевую папку: \\<Имя-контроллера-домена>\SYSVOL\<Имя-домена>\scripts

  2. Скопировать в нее следующие файлы:

  • PasswdhkSetup.msi;

  • pass.mst.

../../../../_images/321.png

Настройка групповой политики

  1. Открыть редактор групповой политики (gpmc.msc).

  2. В узле Domain Controllers создать новую групповую политику или использовать существующую.

  3. Перейти в раздел: Конфигурация пользователяПолитикиКонфигурация программУстановка программ.

  4. Создать новый пакет:

  • Указать путь к PasswdhkSetup.msi из сетевой папки;

  • в способе развертывания выбрать Особый.

../../../../_images/33.png
  1. Добавить MST-файл pass.mst по тому же сетевому пути.

../../../../_images/34.png

Применение политики

  1. Применить политику командой: gpupdate /force

  2. Перезагрузить контроллер домена.

Синхронизация паролей ALD ProMS AD

Получение открытого ключа

В интерфейсе ALD Pro открыть Модуль синхронизации → Конфигурации → Синхронизация паролей

../../../../_images/35.png

По нажатию кнопки Получить ключ скачивается файл открытого ключа и актуализируется порядковый номер ключа.

Синхронизация паролей

Скачанный файл открытого ключа необходимо сохранить в любую директорию, например, /tmp/. Следующим шагом файл открытого ключа необходимо скопировать в расположение /opt/rbta/aldpro/syncer/:

sudo cp /tmp/public.gpg  /opt/rbta/aldpro/syncer/public.gpg

Перезагружаем контроллер домена:

sudo aldproctl restart

Примечание

  • При изменении пароля синхронизированного пользователя через интерфейс FreeIpa, синхронизация пароля от ALD Pro к MS AD не произойдет. Для изменения пароля с последующей успешной синхронизацией необходимо использовать интерфейс ПК «ALD Pro»;

  • Процесс изменения пароля пользователя через личный кабинет с последующей синхронизацией от ALD Pro к MS AD проходит успешно только при использовании личного кабинета контроллера домена, на котором был развернут модуль синхронизации;

  • При сбросе пароля пользователя через интерфейс ПК «ALD Pro» временный пароль не синхронизируется. После сброса пароля пользователя необходимо залогиниться в домене, изменить пароль с временного на постоянный. При данных условиях произойдет синхронизация пароля от ALD Pro к MS AD.

Пароли пользователей MS AD, установленные до настройки модуля синхронизации, синхронизированы не будут.

Синхронизация паролей пользователей после настройки модуля синхронизации и сопоставлений подразделений происходит по логике:

  • синхронизирован пользователь в домен ALD Pro → изменен пароль пользователя в домене MS AD → синхронизирован пароль пользователя в домен ALD Pro;

  • создан пользователь в домене MS AD → синхронизирован пользователь в домен ALD Pro.

Внимание

При настройке синхронизации паролей между ALD Pro и MS AD рекомендуется вручную задать согласованные значения параметров политики паролей в обеих системах, так как их автоматическая синхронизация не предусмотрена.

Включение TLS на Windows Server 2008R2

Важно

Настройка выполняется, если на контроллере домена отключено TLS. Данная инструкция применима к контроллерам домена с ОС WS 2008R2. Если версия ОС отличается, необходимо обратиться к официальной документации Microsoft для выбора подходящей инструкции.

Алгоритм включения TLS

  1. Для включения TLS необходимо обновить реестр на сервере контроллера домена.

    • Необходимо открыть реестр: выполнить “regedit” в окне запуска.

../../../../_images/36.png
../../../../_images/37.png
../../../../_images/38.png

Откроется окно редактора реестра:

../../../../_images/39.png
  • Необходимо перейти к расположению и добавить разделы TLS 1.1 и TLS.

  • В разделе Protocol:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocol

../../../../_images/40.png
../../../../_images/411.png

Создаются еще два раздела Client и Server под обоими ключами TLS.

../../../../_images/42.png
  • Теперь необходимо создать значения DWORD в разделе Server и Client со следующими значениями:

DisabledByDefault [Значение = 0]
Enabled [Значение = 1]
../../../../_images/43.png
../../../../_images/44.png
  1. Необходимо отключить старые версии TLS и SSL. Для этого:

    1. Открыть реестр на сервере контроллера домена: выполнить “regedit” в окне запуска (аналогично шагу 1).

    2. Перейти к расположению:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

  1. Изменить значения DWORD в разделе Server и Client в разделе ключи TLS 1.0, SSL 3.0 и более старых версий SSL.

DisabledByDefault [Значение = 0]
Enabled [Значение = 0]
  1. После выполнения всех вышеперечисленных настроек необходимо перезагрузить сервер контроллера домена. Данная настройка выполняется на всех контроллерах домена.

Особенности настройки при миграции большого количества объектов

По умолчанию 389ds выполняет обновления ссылочной целостности сразу после операции удаления или переименования. В зависимости от количества операций это может повлиять на производительность. Чтобы уменьшить влияние на производительность, есть возможность увеличить время между обновлениями, для этого необходимо задать интервал обновления в секундах. По умолчанию интервал обновления равен 0.

Чтобы показать имя 389ds-сервера:

sudo dsctl -l

Скопируйте в буфер имя вашего сервера (рядом с ним вы увидите slapd-GLOBAL-CATALOG). Чтобы отобразить текущий интервал обновления, запустите (заменив <имя LDAP-сервера> на имя нужного вам LDAP-сервера):

sudo dsconf <имя **LDAP**-сервера> plugin referential-integrity show | grep referint-update-delay

Задать новое значение интервала обновления:

sudo dsconf <имя **LDAP**-сервера> plugin referential-integrity set --update-delay <новое_значение>

Перезапустите инстанс:

sudo dsctl <имя **LDAP**-сервера> restart